﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using cecbData;
namespace Dss.Methods
{
    public class UserLogin
    {
        public UserLogin()
        {

            cecbContext = new DSSEntities();

        }

        DSSEntities cecbContext;

        public  string base64Encode(string sData)
        {
            try
            {
                byte[] encData_byte = new byte[sData.Length];
                encData_byte = System.Text.Encoding.UTF8.GetBytes(sData);
                string encodedData = Convert.ToBase64String(encData_byte);
                return encodedData;
            }
            catch (Exception ex)
            {
                throw new Exception("Error in base64Encode" + ex.Message);
            }
        }

        public  string base64Decode(string sData)
        {

            try
            {
                System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
                System.Text.Decoder utf8Decode = encoder.GetDecoder();
                byte[] todecode_byte = Convert.FromBase64String(sData);
                int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
                char[] decoded_char = new char[charCount];
                utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
                string result = new String(decoded_char);
                return result;
            }
            catch (Exception ex)
            {

                throw new Exception("Error in base64Dncode" + ex.Message);
            }

        }
       
        public Boolean UserLoginClick(String username, String password)
        {
            string encriptPassword = "";

            encriptPassword = base64Encode(password);

            IQueryable<MemberLogin> Query = (
                from c in cecbContext.MemberLogin
                where c.login_username ==  username  && c.login_password == encriptPassword
                select c);

            List<MemberLogin> SelectedMember= Query.ToList();
            Boolean IsValidate = false;
            if (SelectedMember.Count == 1) IsValidate = true;
            return IsValidate;

        }

        public String UserExitClick(String password)
        {

            return base64Decode(password);

        }
    }
}
